import axios from 'axios';

// 请确保这些凭证是从科大讯飞开放平台获取的最新凭证
const API_KEY = '24838eb4fee9d5a7e7eaf64f861a8fea'; // 替换为您的 API_KEY
const API_SECRET = 'ZWZhOGI5ZWQ2OWJhNDVlZjUyOGFkNjE1'; // 替换为您的 API_SECRET

// 确认这是正确的 Token URL，请参考科大讯飞开放平台文档
const TOKEN_URL = 'https://openapi.xfyun.cn/v2/aiui/auth'; 

interface TokenResponse {
  access_token: string;
  expires_in: number; // 通常为秒数
}

/**
 * 获取 access_token 的函数
 * @returns 返回 access_token 字符串
 */
export const getAccessToken = async (): Promise<string> => {
  try {
   const response = await axios.post(
  TOKEN_URL,
  new URLSearchParams({
    grant_type: 'client_credentials',
    client_id: API_KEY,
    client_secret: API_SECRET,
  }),
  {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
    },
  }
);

    const data: TokenResponse = response.data;
    return data.access_token;
  } catch (error) {
    if (axios.isAxiosError(error)) {
      console.error('获取 access_token 失败:', error.response?.data || error.message);
    } else {
      console.error('获取 access_token 失败:', error);
    }
    throw new Error('无法获取 access_token,请检查您的凭证或网络连接。');
  }
};